A Specification for Dependently-Typed Haskell (Extended version)
نویسندگان
چکیده
We propose a semantics for Dependent Haskell, an extension of Haskell with full-spectrum dependent types. Our semantics consists of two strongly related languages. The rst is a Curry-style dependently-typed language with nontermination, irrelevant arguments, and equality abstraction. The second, strongly inspired by GHC’s core language FC, is its explicitly-typed analogue, suitable for implementation. In contrast to prior work, our design demonstrates that homogeneous equality is compatible with explicit equality proofs. All of our results—chie y, type safety, along with theorems that relate our two semantics—have been formalized using the Coq proof assistant.
منابع مشابه
Formalising Bitonic Sort using Dependt Types
From 12.09.04 to 17.09.04, the Dagstuhl Seminar 04381 Dependently Typed Programming was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ...
متن کاملΠΣ: A Core Language for Dependently Typed Programming
We introduce ΠΣ, a core language for dependently typed programming. Our intention is that ΠΣ should play the role extensions of System F are playing for conventional functional languages with polymorphism, like Haskell. The core language incorporates mutual dependent recursive definitions, Type : Type, Πand Σ-types, finite sets of labels and explicit constraints. We show that standard construct...
متن کاملA Tutorial Implementation of a Dependently Typed Lambda Calculus
We present the type rules for a dependently typed core calculus together with a straightforward implementation in Haskell. We explicitly highlight the changes necessary to shift from a simply-typed lambda calculus to the dependently typed lambda calculus. We also describe how to extend our core language with data types and write several small example programs. The article is accompanied by an e...
متن کاملSimply Easy! An Implementation of a Dependently Typed Lambda Calculus
We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as an implementation of the simply typed lambda calculus, which we emphasize by discussing the modif...
متن کاملDependently Typed Programming Based on Automated Theorem Proving
Mella is a minimalistic dependently typed programming language and interactive theorem prover implemented in Haskell. Its main purpose is to investigate the effective integration of automated theorem provers in a pure and simple setting. Such integrations are essential for supporting program development in dependently typed languages. We integrate the equational theorem prover Waldmeister and t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017